#ifndef SAMPLER_H
#define SAMPLER_H

#include "aimididevice.h"

class Map;
class DataMidi;

class Sampler : public AIMidiDevice
{
public:
    Sampler();
    ~Sampler();

    void process();
    void setData(PData data);
    void inline setMidiData(MidiDataList & list){ list_ = &list; }
private:
    PData ports_;
    Map * map_;
    size_t bufsize_;
    MidiDataList * list_;
};

#endif // SAMPLER_H

/*
  todo

  basic variant -
 1 note = 1 sample = 1 polyphony channel, retrigger each time, no transition correction
 simplest panning to 2 output audiochannels


  */
